#ifndef INET_REACTOR_H
#define INET_REACTOR_H

#include "EventHandler.h"
#include "EventTypes.h"
#include "ReactorImplementation.h"

#include <sys/select.h>

class Reactor
{
 public:
  virtual void registerHandler(EventHandler * eh, EventType et) = 0;
  virtual void removeHandler(EventHandler * eh, EventType et) = 0;
  virtual void handleEvents(timeval * timeout = 0) = 0;

 protected:
  ReactorImplementation * reactor_;
  Reactor() {};
};

#endif

